package com.radiant.service;

import java.io.InputStream;
import java.util.List;

import com.radiant.data.entity.Comment;
import com.radiant.data.entity.Like;
import com.radiant.data.entity.Post;
import com.radiant.data.entity.WallEntity;
import com.sun.jersey.core.header.FormDataContentDisposition;

public interface PostService {

	public Post createTextPost(String caption);

	public Post createImagePost(String caption, 
			InputStream inputStream, FormDataContentDisposition formDataContentDisposition);

	public void deletePost(String postId);

	public Comment addComment(String postId, String caption);

	public Like likePost(String postId);

	public Like likeComment(String commentId);

	public List<Post> getTopNPosts(int count);

	public List<Post> getPostsInTimeInterval(long startTimeInMillis, long endTimeInMillis);
	
	public List<Post> getRecentPosts(long timeInMillis);

	public abstract List<String> getProtectedPaths();

}
